<template>
    <view class="content-area">
        <view class="container">
            <view class="settings-list">
                <view class="settings-group">
                    <view class="group-title">账号设置</view>
                    <view class="list-item" @click="showUserInfo">
                        <text class="item-label">个人信息</text>
                        <text class="item-value">{{ userInfo.full_name }}</text>
                    </view>
                </view>

                <view class="settings-group">
                    <view class="group-title">通用设置</view>
                    <view class="list-item">
                        <text class="item-label">深色模式</text>
                        <switch :checked="darkMode" @change="toggleDarkMode" />
                    </view>
                    <view class="list-item">
                        <text class="item-label">字体大小</text>
                        <picker :value="fontSizeIndex" :range="fontSizes" @change="changeFontSize">
                            <text class="picker-text">{{ fontSizes[fontSizeIndex] }}</text>
                        </picker>
                    </view>
                </view>

                <view class="settings-group">
                    <view class="group-title">其他</view>
                    <view class="list-item" @click="checkUpdate">
                        <text class="item-label">检查更新</text>
                        <text class="item-value">当前版本 1.0.0</text>
                    </view>
                    <view class="list-item" @click="showAbout">
                        <text class="item-label">关于我们</text>
                    </view>
                    <view class="list-item" @click="navigateToDevice">
                        <text class="item-label">设备信息</text>
                        <text class="iconfont">></text>
                    </view>
                </view>

                <view class="setting-item">
                    <text>开启悬浮窗</text>
                    <switch :checked="floatEnabled" @change="toggleFloat"/>
                </view>

                <button class="logout-btn" @click="handleLogout">退出登录</button>
            </view>
        </view>
    </view>
</template>

<script>
export default {
    data() {
        return {
            userInfo: {
                full_name: '加载中...'
            },
            darkMode: false,
            fontSizeIndex: 1,
            fontSizes: ['小', '中', '大'],
            floatEnabled: false,
            showDialog: false,
            btnWebview: null,        // 按钮悬浮窗 webview
            dialogWebview: null     ,// 弹窗悬浮窗 webview
			settingWebview: null    ,// 设置弹窗悬浮窗 webview
			settingview_is_show :false,
        }
    },
    onLoad() {
        console.log('当前平台：', process.env.UNI_PLATFORM);
        this.loadUserInfo();
        this.floatEnabled = false;
		
		
		// if (window.plus && plus.globalEvent) {
		//         plus.globalEvent.addEventListener('plusMessage', (msg) => {
		//             console.log('收到 plusMessage:', msg);
		//             if (msg && msg.data && msg.data.type === 'openDialog') {
		//                 const LinFloatWeb = uni.requireNativePlugin('Lin-Float-Webview');
		//                 LinFloatWeb.hide({ id: this.getBtnFloatId() });
		//                 this.createDialogWebview();
		//             }
		//         });
		//     }
	// console.log('当前平台：', process.env.UNI_PLATFORM);
	
	//     // 使用 uni.getSystemInfoSync() 获取设备平台信息
	//     const systemInfo = uni.getSystemInfoSync();
	//     console.log('系统信息：', systemInfo);
	
	//     // 判断是否为 APP-PLUS 环境
	//     if (systemInfo.platform === 'ios' || systemInfo.platform === 'android') {
	//       console.log('当前为 APP-PLUS 环境');
	
	//       // 确保 plus 对象已定义并初始化
	//       if (typeof window !== 'undefined' && window.plus) {
	//         // 使用 setTimeout 来确保 plus 对象加载完毕
	//         setTimeout(() => {
	//           document.addEventListener('plusready', () => {
	//             console.log('plus:', window.plus); // 输出 plus 对象，帮助调试
	
	//             if (typeof window.plus !== 'undefined') {
	//               if (window.plus.globalEvent && window.plus.globalEvent.addEventListener) {
	//                 window.plus.globalEvent.addEventListener('plusMessage', (msg) => {
	//                   console.log('收到 plusMessage:', msg);
	//                   if (msg && msg.data && msg.data.type === 'openDialog') {
	//                     this.createDialogWebview(); // 创建对话框悬浮窗
	//                   }
	//                 });
	//               } else {
	//                 console.warn('plus.globalEvent 不可用');
	//               }
	//             } else {
	//               console.warn('plus 未定义');
	//             }
	//           });
	//         }, 1000); // 延时 1 秒后执行，确保 plus 加载完毕
	//       }
	//     } else {
	//       console.warn('非APP-PLUS环境，不监听 plusMessage');
	//     }
		  
		  
// // 只在 APP-PLUS 环境下监听消息
//     if (process.env.UNI_PLATFORM === 'app-plus') {
//       // 确保 plus 对象已定义
//       if (typeof window !== 'undefined' && window.plus) {
//         // 等待 plus 对象初始化
//         document.addEventListener('plusready', () => {
//           console.log('plus:', window.plus);  // 输出 plus 对象，帮助调试
          
//           if (typeof window.plus !== 'undefined') {
//             if (window.plus.globalEvent && window.plus.globalEvent.addEventListener) {
//               window.plus.globalEvent.addEventListener('plusMessage', (msg) => {
//                 console.log('收到 plusMessage:', msg);
//                 if (msg && msg.data && msg.data.type === 'openDialog') {
//                   this.createDialogWebview();
//                 }
//               });
//             } else {
//               console.warn('plus.globalEvent 不可用');
//             }
//           } else {
//             console.warn('plus 未定义');
//           }
//         });
//       }
//     } else {
//       console.warn('非APP-PLUS环境，不监听 plusMessage');
//     }

    },
	
	
	//  mounted() {
	//     // 监听来自悬浮窗的消息
	//     window.addEventListener('message', this.handleMessage, false);
	//   },

	// beforeDestroy() {
	//     // 在组件销毁前移除事件监听
	//     window.removeEventListener('message', this.handleMessage, false);
	//   },
    methods: {
		
		
		   // 处理接收到的消息
		    handleMessage(event) {
		      console.log('收到消息:', event.data);
		      if (event.data && event.data.type === 'openDialog') {
		        // 触发打开对话框的操作
		        this.showDialogWebview();
		      }
		    },
        loadUserInfo() {
            const userInfo = uni.getStorageSync('user_info');
            if (userInfo) {
                this.userInfo = userInfo;
            }
        },
        showUserInfo() {
            uni.showToast({
                title: '功能开发中',
                icon: 'none'
            });
        },
        toggleDarkMode(e) {
            this.darkMode = e.detail.value;
            // 实现深色模式切换逻辑
        },
        changeFontSize(e) {
            this.fontSizeIndex = e.detail.value;
            // 实现字体大小切换逻辑
        },
        checkUpdate() {
            uni.showToast({
                title: '已是最新版本',
                icon: 'none'
            });
        },
        showAbout() {
            uni.showModal({
                title: '关于翻译助手',
                content: '翻译助手是一款多功能翻译工具，支持文本翻译、语音翻译和视频翻译等功能。\n\n版本：1.0.0\n开发者：Your Name',
                showCancel: false
            });
        },
        handleLogout() {
            uni.showModal({
                title: '提示',
                content: '确定要退出登录吗？',
                success: (res) => {
                    if (res.confirm) {
                        // 清除登录信息
                        uni.removeStorageSync('access_token');
                        uni.removeStorageSync('token_type');
                        uni.removeStorageSync('user_info');
                        uni.removeStorageSync('remember_me');
                        
                        // 跳转到登录页
                        uni.reLaunch({
                            url: '/pages/login/login'
                        });
                    }
                }
            });
        },
        toggleFloat(e) {
            console.log('toggleFloat 被触发, ', e);
            if(this.floatEnabled) {
                console.log('准备调用 closeFloat');
                this.closeFloat();
            } else {
                console.log('准备调用 createFloat');
                this.createFloat();
            }
            this.floatEnabled = !this.floatEnabled;
        },
         createFloat() {
			 
			 
			  this.createBtnWebview();
            // const LinFloatWeb = uni.requireNativePlugin('Lin-Float-Webview');

            // // 检查权限
            // const checkPermission = () => {
            //     return new Promise((resolve, reject) => {
            //         LinFloatWeb.applyPermission(() => {
            //             resolve(true);
            //         }, () => {
            //             uni.showToast({
            //                 title: '请授予悬浮窗权限',
            //                 icon: 'none'
            //             });
            //             reject(false);
            //         });
            //     });
            // };

     //        // 获取悬浮窗路径
     //        const getFloatPath = () => {
     //            return new Promise((resolve, reject) => {
     //                plus.io.resolveLocalFileSystemURL('_www/static/float.html', (entry) => {
     //                    const localUrl = entry.toLocalURL();
     //                    console.log('float.html 本地路径:', localUrl);
     //                    resolve(localUrl);
     //                }, (error) => {
     //                    console.error('float.html 路径查找失败:', error);
     //                    reject(error);
     //                });
     //            });
     //        }

     //        // 创建悬浮窗
     //        const createFloat = async () => {
     //            try {
     //                await checkPermission();
     //                const path = await getFloatPath();
                    
     //                const screenWidth = uni.getSystemInfoSync().windowWidth;
     //                const screenHeight = uni.getSystemInfoSync().windowHeight;
     //                console.log('屏幕宽高:', screenWidth, screenHeight);
                    
     //                const btnSize = 50;

     //                // const x = Math.floor((screenWidth - 120) / 2);
     //                // const y = Math.floor((screenHeight - 120) / 2);
     //                const x = screenWidth - btnSize - 20;
     //                const y = screenHeight - btnSize - 40;
					// console.log('x y位置:', x, y);
                    
     //                LinFloatWeb.create({
     //                    url: path,
     //                    id: 'window',
     //                    width: 50,
     //                    height: 50,
     //                    x: x,
     //                    y: y,
     //                    dragType: 2,
     //                    transparent: true,
     //                    toolbar: false,
					// 	disableScroll: true // 如果支持

     //                }, (res) => {
     //                    console.log('创建回调:', res);
     //                    if(res.code === 0) {
     //                        LinFloatWeb.show();
     //                    }
     //                });
     //            } catch(e) {
     //                console.error('创建悬浮窗失败:', e);
     //                uni.showToast({
     //                    title: '创建悬浮窗失败',
     //                    icon: 'none'
     //                });
     //            }
     //        }

     //        createFloat();
	 
	 
	 
	 
					 // try {
						//  await checkPermission();
						//  // 权限通过后，创建按钮悬浮窗
						//  this.createBtnWebview();
						//  console.log('创建成功');
					 // } catch (e) {
						//  // 权限未通过，不做后续操作
						//    console.error('创建悬浮窗失败:', e);
					 // }
        },
        closeFloat() {
			
			  const LinFloatWeb = uni.requireNativePlugin('Lin-Float-Webview');
            
			  LinFloatWeb.hide(this.getBtnFloatId());
			
			// this.btnWebview.hide();
        },
        // 创建按钮悬浮窗
        async createBtnWebview() {
            const LinFloatWeb = uni.requireNativePlugin('Lin-Float-Webview');
            // 权限检查
            const checkPermission = () => {
                return new Promise((resolve, reject) => {
                    LinFloatWeb.applyPermission(() => {
                        resolve(true);
                    }, () => {
                        uni.showToast({
                            title: '请授予悬浮窗权限',
                            icon: 'none'
                        });
                        reject(false);
                    });
                });
            };
            // 路径查找
            const getFloatPath = () => {
                return new Promise((resolve, reject) => {
                    plus.io.resolveLocalFileSystemURL('_www/static/float.html', (entry) => {
                        const localUrl = entry.toLocalURL();
                        resolve(localUrl);
                    }, (error) => {
                        console.error('float.html 路径查找失败:', error);
                        reject(error);
                    });
                });
            };

            try {
                await checkPermission();
                const path = await getFloatPath();

                const screenWidth = uni.getSystemInfoSync().windowWidth;
                const screenHeight = uni.getSystemInfoSync().windowHeight;
                const btnSize = 50;
                const x = screenWidth - btnSize - 20;
                const y = screenHeight - btnSize - 40;

                if (!this.btnWebview) {
                    this.btnWebview = LinFloatWeb.create({
                        url: path,
                        id: 'floatBtn',
                        width: btnSize,
                        height: btnSize,
                        x: x,
                        y: y,
                        dragType: 2,
                        transparent: true,
                        toolbar: false,
                        disableScroll: true,
                        // onMessage: (msg) => {
                        //     if (msg && msg.type === 'openDialog') {
                        //         this.btnWebview.hide();
                        //         this.showDialogWebview();
                        //     }
						
						// onMessage: (msg) => {
						// 		console.log('收到html按钮悬浮窗消息:', msg);
						// 		if (msg && msg.type === 'openDialog') {
						// 			// 隐藏按钮悬浮窗，显示弹窗悬浮窗
						// 			LinFloatWeb.hide({ id: this.getBtnFloatId() });
						// 			this.createDialogWebview();
						// 		}
						// 	}
                        },(res) => {
						           
						            if (res && res.code === 0) {
						                // this.btnWebview.show();
										 LinFloatWeb.show(this.getBtnFloatId());
										  console.log('按钮悬浮窗创建回调:', res);
						            }
									// console.log('收到按钮悬浮窗点击事件 创建翻译悬浮窗:', res);
									// // 打开新的窗口
									// if (res && res.type === 'openDialog') {
										
									// 		console.log('收到按钮悬浮窗点击事件 创建翻译悬浮窗:', res);
									// 		// 隐藏按钮悬浮窗，显示弹窗悬浮窗
									// 		LinFloatWeb.hide(this.getBtnFloatId());
									// 		this.createDialogWebview();
									// }
									
									
									// console.log('收到按钮悬浮窗点击事件 创建翻译悬浮窗:', res);
									
								console.log('收到按钮悬浮窗点击事件 创建翻译悬浮窗:', res);
								
								// 解析 res.data.sendMessage 字符串
								if (res && res.data && res.data.sendMessage) {
								  try {
								    // 解析 sendMessage 字符串
								    const message = JSON.parse(res.data.sendMessage);  // 解析字符串化的 JSON
								
								    console.log('解析后的消息:', message);
								
								    // 确保消息类型是 openDialog
								    if (message && message.type === 'openDialog') {
								      console.log('收到按钮悬浮窗点击事件 创建翻译悬浮窗:', message);
								      // 隐藏按钮悬浮窗，显示弹窗悬浮窗
								      LinFloatWeb.hide(this.getBtnFloatId());
								      this.createDialogWebview();
								    }
								  } catch (error) {
								    console.error('解析消息失败:', error);
								  }
								}

                    });
                }
			} 
             catch (e) {
                uni.showToast({ title: 'float.html 路径查找失败或无权限', icon: 'none' });
            }
        },
        // 创建弹窗悬浮窗
        async createDialogWebview() {
            const LinFloatWeb = uni.requireNativePlugin('Lin-Float-Webview');
            // 权限检查
            const checkPermission = () => {
                return new Promise((resolve, reject) => {
                    LinFloatWeb.applyPermission(() => {
                        resolve(true);
                    }, () => {
                        uni.showToast({
                            title: '请授予悬浮窗权限',
                            icon: 'none'
                        });
                        reject(false);
                    });
                });
            };
            // 路径查找
            const getDialogPath = () => {
                return new Promise((resolve, reject) => {
                    plus.io.resolveLocalFileSystemURL('_www/static/float_dialog.html', (entry) => {
                        const localUrl = entry.toLocalURL();
                        resolve(localUrl);
                    }, (error) => {
                        console.error('float_dialog.html 路径查找失败:', error);
                        reject(error);
                    });
                });
            };

            try {
                await checkPermission();
                const path = await getDialogPath();

                const screenWidth = uni.getSystemInfoSync().windowWidth;
                const screenHeight = uni.getSystemInfoSync().windowHeight;
                const dialogWidth = 300;
                const dialogHeight = 400;
                const x = Math.floor((screenWidth - dialogWidth) / 2);
                const y = Math.floor((screenHeight - dialogHeight) / 2);

                if (!this.dialogWebview) {
                    this.dialogWebview = LinFloatWeb.create({
                        url: path,
                        id: 'floatDialog',
                        width: dialogWidth,
                        height: dialogHeight,
                        x: x,
                        y: y,
                        dragType: 2,
                        transparent: true,
                        toolbar: false,
                        disableScroll: true,
                        // onMessage: (msg) => {
                        //     if (msg && msg.type === 'closeDialog') {
                        //         this.dialogWebview.hide();
                        //         this.showBtnWebview();
                        //     }
                        // }
						
						// onMessage: (msg) => {
						//     if (msg && msg.type === 'openDialog') {
						//         this.btnWebview.hide();
						//         this.showDialogWebview();
						//     }
						},
					(res) => {
						            console.log('翻译悬浮窗创建回调:', res);
						            if (res && res.code === 0) {
						                // this.btnWebview.show();
										 LinFloatWeb.show(this.getDialogFloatId());
						            }
									
									
									console.log('收到翻译悬浮窗点击事件 创建翻译悬浮窗:', res);
									
									// 解析 res.data.sendMessage 字符串
									if (res && res.data && res.data.sendMessage) {
									  try {
									    // 解析 sendMessage 字符串
									    const message = JSON.parse(res.data.sendMessage);  // 解析字符串化的 JSON
									
									    console.log('解析后的消息:', message);
									
									    // 确保消息类型是 openDialog
									    if (message && message.type === 'closeDialog') {
									      console.log('收到翻译悬浮窗关闭事件 创建显示按钮悬浮窗:', message);
									      // 隐藏按钮悬浮窗，显示弹窗悬浮窗
										  
									      LinFloatWeb.hide(this.getDialogFloatId());
										  LinFloatWeb.show(this.getBtnFloatId());
									      //this.createDialogWebview();
										  
									    } else if (message && message.type === 'settingDialog') {
									      console.log('收到设置悬浮窗创建事件 创建显示设置悬浮窗:', message);
										  if(this.settingview_is_show === false){
											  /* if (!this.settingWebview) {
												   
												   LinFloatWeb.show(this.getSettingFloatId());
											   }else*/
											   {
												   LinFloatWeb.destroy(this.getSettingFloatId());
												   this.createSettingWebview();
											   }
											   
											   
											   this.settingview_is_show = true;
										  }else{
											  
												LinFloatWeb.hide(this.getSettingFloatId());
												this.settingview_is_show = false;
										  }
										 
									      // 隐藏按钮悬浮窗，显示弹窗悬浮窗
									      //LinFloatWeb.hide(this.getDialogFloatId());
										  //LinFloatWeb.show(this.getBtnFloatId());
									      //this.createDialogWebview();
									    }else if (message && message.type === 'openApp')
										{
											// 跳转到首页或主界面
											
											        // uni.reLaunch({
											        //   url: '/pages/index/index'
											        // });
											
											
										}
									  } catch (error) {
									    console.error('解析消息失败:', error);
									  }
									}
                    });
                } 
            } catch (e) {
                uni.showToast({ title: 'float_dialog.html 路径查找失败或无权限', icon: 'none' });
            }
        },
        
		// 创建设置弹窗悬浮窗
		async createSettingWebview() {
		    const LinFloatWeb = uni.requireNativePlugin('Lin-Float-Webview');
		    // 权限检查
		    const checkPermission = () => {
		        return new Promise((resolve, reject) => {
		            LinFloatWeb.applyPermission(() => {
		                resolve(true);
		            }, () => {
		                uni.showToast({
		                    title: '请授予悬浮窗权限',
		                    icon: 'none'
		                });
		                reject(false);
		            });
		        });
		    };
		    // 路径查找
		    const getDialogPath = () => {
		        return new Promise((resolve, reject) => {
		            plus.io.resolveLocalFileSystemURL('_www/static/setting.html', (entry) => {
		                const localUrl = entry.toLocalURL();
		                resolve(localUrl);
		            }, (error) => {
		                console.error('setting.html 路径查找失败:', error);
		                reject(error);
		            });
		        });
		    };
		
		    try {
		        await checkPermission();
		        const path = await getDialogPath();
		
		        const screenWidth = uni.getSystemInfoSync().windowWidth;
		        const screenHeight = uni.getSystemInfoSync().windowHeight;
		        const dialogWidth = 200;
		        const dialogHeight = 300;
		        const x = Math.floor((screenWidth - dialogWidth) / 2);
		        const y = Math.floor((screenHeight - dialogHeight) / 2);
		
		        if (!this.settingWebview) {
		            this.settingWebview = LinFloatWeb.create({
		                url: path,
		                id: 'settingFloatBtn',
		                width: dialogWidth,
		                height: dialogHeight,
		                x: x,
		                y: y + 1100,
		                dragType: 2,
		                transparent: true,
		                toolbar: false,
		                disableScroll: true,
		                // onMessage: (msg) => {
		                //     if (msg && msg.type === 'closeDialog') {
		                //         this.dialogWebview.hide();
		                //         this.showBtnWebview();
		                //     }
		                // }
						
						// onMessage: (msg) => {
						//     if (msg && msg.type === 'openDialog') {
						//         this.btnWebview.hide();
						//         this.showDialogWebview();
						//     }
						},
					(res) => {
						            console.log('设置悬浮窗创建回调:', res);
						            if (res && res.code === 0) {
						                // this.btnWebview.show();
										 LinFloatWeb.show(this.getSettingFloatId());
						            }
									
									
									console.log('收到设置悬浮窗点击事件 创建悬浮窗:', res);
									
									// 解析 res.data.sendMessage 字符串
									if (res && res.data && res.data.sendMessage) {
									  try {
									    // 解析 sendMessage 字符串
									    const message = JSON.parse(res.data.sendMessage);  // 解析字符串化的 JSON
									
									    console.log('解析后的消息:', message);
									
									    // 确保消息类型是 openDialog
									    if (message && message.type === 'closeDialog') {
									      console.log('收到设置悬浮窗关闭事件 ', message);
									      // 隐藏按钮悬浮窗，显示弹窗悬浮窗
										  
									      LinFloatWeb.hide(this.getSettingFloatId());
										  //LinFloatWeb.show(this.getBtnFloatId());
									      //this.createDialogWebview();
									    }
									  } catch (error) {
									    console.error('解析消息失败:', error);
									  }
									}
		            });
		        } 
		    } catch (e) {
		        uni.showToast({ title: 'setting.html 路径查找失败或无权限', icon: 'none' });
		    }
		},
		
		
		
		
		
		
		
		
		
		
		
		// 显示按钮悬浮窗
        showBtnWebview() {
            if (this.btnWebview)  
			LinFloatWeb.show(this.getBtnFloatId());
			// this.btnWebview.show();
        },
        // 显示弹窗悬浮窗
        showDialogWebview() {
            // if (!this.dialogWebview) this.createDialogWebview();
            if (this.dialogWebview)
			LinFloatWeb.show(this.getDialogFloatId());
			 // this.dialogWebview.show();
        },
        // 显示弹窗悬浮窗
        showSettingWebview() {
            // if (!this.dialogWebview) this.createDialogWebview();
            if (this.settingWebview)
        	LinFloatWeb.show(this.getSettingFloatId());
        	 // this.dialogWebview.show();
        },
        // 获取本地html路径
        getLocalHtmlPath(htmlName) {
            return new Promise((resolve, reject) => {
                plus.io.resolveLocalFileSystemURL('_www/static/' + htmlName, (entry) => {
                    const localUrl = entry.toLocalURL();
                    resolve(localUrl);
                }, (error) => {
                    console.error(htmlName + ' 路径查找失败:', error);
                    reject(error);
                });
            });
        },
        // 获取按钮悬浮窗ID
        getBtnFloatId() {
            return 'floatBtn';
        },
        // 获取弹窗悬浮窗ID
        getDialogFloatId() {
            return 'floatDialog';
        },
		
		// 获取弹窗悬浮窗ID
		getSettingFloatId() {
		    return 'settingFloatBtn';
		},
        navigateToDevice() {
            uni.navigateTo({
                url: '/pages/device/device'
            });
        }
    }
}
</script>

<style>
.content-area {
    min-height: 100vh;
    background-color: #f8f9fa;
}

.container {
    padding: 20rpx;
}

.settings-list {
    background-color: #fff;
    border-radius: 15rpx;
    overflow: hidden;
}

.settings-group {
    margin-bottom: 20rpx;
}

.group-title {
    padding: 20rpx;
    font-size: 28rpx;
    color: #6c757d;
    background-color: #f8f9fa;
}

.list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30rpx 20rpx;
    background-color: #fff;
    border-bottom: 2rpx solid #f0f0f0;
}

.item-label {
    font-size: 32rpx;
    color: #333;
}

.item-value {
    font-size: 28rpx;
    color: #6c757d;
}

.picker-text {
    font-size: 28rpx;
    color: #6c757d;
}

.logout-btn {
    margin: 40rpx 20rpx;
    height: 88rpx;
    line-height: 88rpx;
    background-color: #dc3545;
    color: #fff;
    font-size: 32rpx;
    border-radius: 8rpx;
}

.logout-btn:active {
    opacity: 0.8;
}

.setting-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30rpx 20rpx;
    background-color: #fff;
    border-bottom: 2rpx solid #f0f0f0;
}

.float-btn {
    width: 60px; height: 60px;
    border-radius: 50%;
    background: #ffc107;
    position: fixed; bottom: 40px; right: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    z-index: 9999;
}

.float-dialog {
    position: fixed; bottom: 100px; right: 20px;
    width: 300px; height: 400px;
    background: rgba(0,0,0,0.3);
    border-radius: 20px;
    z-index: 10000;
}

.close-btn {
    position: absolute; top: 10px; right: 10px; font-size: 24px; color: #fff;
}
</style> 